/*
 * Copyright the original author or authors.
 * 
 * Licensed under the MOZILLA PUBLIC LICENSE, Version 1.1 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 * 
 *      http://www.mozilla.org/MPL/MPL-1.1.html
 * 
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package net.pixlib.plugin
{
	import net.pixlib.collections.PXHashMap;
	import net.pixlib.events.PXEventChannel;

	/**
	 * @author Francis Bourre
	 */
	final public class PXPluginChannel extends PXEventChannel
	{
		static private var _MAP : PXHashMap = new PXHashMap();
		
		/**
		 * @private
		 * 
		 * @langversion 3.0
		 * @playerversion Flash 10
		 */
		function PXPluginChannel(channelName : String )
		{
			super( channelName );
		}
		
		/**
		 * 
		 * 
		 * @langversion 3.0
		 * @playerversion Flash 10
		 */
		static public function getInstance( channelName : String ) : PXPluginChannel
		{
			if ( !(PXPluginChannel._MAP.containsKey( channelName )) )
				PXPluginChannel._MAP.put( channelName, new PXPluginChannel( channelName ) );
				
			return PXPluginChannel._MAP.get( channelName ) as PXPluginChannel;
		}
	}
}